package com.zhl.map4;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapTest2 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();       //这是一个经典代码 用的多
        //添加元素 键值对
        map.put("apple", 10);
        map.put("banana", 20);
        map.put("orange", 30);
        map.put("grape", 40);
        map.put(null, null);
        System.out.println(map);    //它的toString方法已经重写了

        //2.public int size() 返回此映射中的键-值对数;获取集合的大小
        System.out.println(map.size());

        //3.public void clear() 从此映射中移除所有映射关系，使其为空;清空集合
        //map.clear();
        //System.out.println(map);

        //4.public boolean isEmpty() 如果此映射不包含键-值对，则返回 true;判断集合是否为空
        System.out.println(map.isEmpty());

        //5.public V get(Object key) 返回指定键所映射的VALUE值;获取集合中指定键的值  不存在返回null
        int a1 =map.get("apple");
        System.out.println(a1);

        //6.public V remove(Object key) 删除指定键（及其对应的值）的映射关系，返回删除的值；删除集合中指定键的值
        int a2 =map.remove("apple");
        System.out.println(a2);
        System.out.println(map);

        //7.public boolean containsKey(Object key) 如果此映射包含指定键的映射关系，则返回 true;判断集合中是否存在指定键
        boolean b1 =map.containsKey("banana");
        System.out.println(b1);
        System.out.println(map.containsKey("888"));

        //8.public boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值，则返回 true;判断集合中是否存在指定值
        boolean b2 =map.containsValue(20);
        System.out.println(b2);

        //9.public Set<K> keySet()  获取Map集合的全部键
        Set<String> keys = map.keySet();
        System.out.println(keys);

        //10.public Collection<V> values() 获取Map集合的全部值
        Collection<Integer> values = map.values();
        System.out.println(values);

        //11.把其他Map集合中的元素添加到当前Map集合中(拓展)
        Map<String, Integer> map2 = new HashMap<>();
        map2.put("pear", 50);
        map2.put("watermelon", 60);
        System.out.println(map2);
        Map<String, Integer> map3 = new HashMap<>();
        map3.putAll(map2);  //putAll方法可以把map2中的元素全部倒入到map3中
        System.out.println(map3);


    }
}
